#pragma once
#include <string>

#include "FXValue.h"
/**
* This class is an abstraction of the Texture concept.
* The DirectX project uses the DirectXTexture subclass.
* The OpenGL project uses the OpenGLTexture subclass.
*/
class DAETexture: public FXValue
{
public:
	/**
	* Creates a new texture object.
	*/
	DAETexture();
	/**
	* Destroys the texture object.
	*/
	virtual ~DAETexture(void);
protected:
	/**
	* Indicates if the Texture was succesfully created.
	*/
	bool m_Created;

private:

	// -------------------------
	// Disabling default copy constructor and default assignment operator.
	// If you get a linker error from one of these functions, your class is internally trying to use them. This is
	// an error in your class, these declarations are deliberately made without implementation because they should never be used.
	// -------------------------
	DAETexture(const DAETexture& t);
	DAETexture& operator=(const DAETexture& t);
};
